package com.ruoyi.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.utils.Result;
import com.ruoyi.system.domain.SysTrainingCategory;
import com.ruoyi.system.domain.param.SysTrainingCategoryParam;
import com.ruoyi.system.domain.param.SysTrainingVideosParam;
import com.ruoyi.system.domain.vo.SysTrainingCategoryVo;
import com.ruoyi.system.domain.vo.SysTrainingVideosVo;


import java.util.List;

/**
 * @author wangpengjie
 */
public interface ISysTrainingCategoryService extends IService<SysTrainingCategory> {
    /**
     * 分页查询培训分类信息
     * @param param
     * @return
     */
    Result<List<SysTrainingCategoryVo>> selectTrainingCategoryPage(SysTrainingCategoryParam param);

    /**
     * 新增培训分类信息
     * @param trainingCategory
     * @return
     */
    Result submit(SysTrainingCategory trainingCategory);

    /**
     * 批量删除培训分类信息
     * @param ids
     * @return
     */
    Result removeById(String ids,Long projectId);

    /**
     * 修改培训分类信息
     * @param trainingCategory
     * @return
     */
    Result updateSysTrainingCategory(SysTrainingCategory trainingCategory);

    /**
     * 查询培训分类详情信息
     * @param id
     * @return
     */
    Result<SysTrainingCategoryVo> selectSysTrainingCategoryInfo(Long id,Long projectId);

    Result updatePublishStorage(Long id, Integer state, Long projectId);

    Result selectAllTrainingCategory(Long projectId);


    Result<IPage<SysTrainingVideosVo>> videos(SysTrainingVideosParam param);

    Result start(Integer id);

    Result stop(Integer id);
    Result selectPolling(Long id);
}
